#pragma once
#include <string>
#include <GL\glui.h>
#include "MaterialParser.h"
#include "TextureParser.h"

static GLUquadric* glQ;

using std::string;

class PrimitiveParser
{
public:
	static enum Primitive{RECTANGLE,TRIANGLE,CYLINDER,SPHERE,TORUS};

	string material_id;
	MaterialParser* material;

	string texture_id;
	TextureParser* texture;

	PrimitiveParser(void);
	~PrimitiveParser(void);

	PrimitiveParser(string tx_id ,string mat_id);

	virtual Primitive getType() = 0;

	virtual void render() = 0;
	virtual void render(TextureParser* tx) = 0;
};

